Programmable interconnect architectures are used in user-programmable arrays of logic cells, also referred to as "Field Programmable Gate Arrays (FPGAs)", as well as in dedicated programmable interconnect chips, microprocessors, digital signal processor cores, etc.
Such programmable interconnect architectures typically consist of a network of conductive nodes, programmable passive switches, and programmable or non-programmable repeater circuits. An interconnection from one conductive node to another is obtained by programming the intermediate passive switches to be conducting, and by programming each repeater circuit to be propagating and enhancing the signal from one of its terminals to another. The signal enhancement through a repeater circuit consists of driving the output with a low-impedance version of the logic signal at the input.
The repeater circuits are necessary to limit the propagation delay and the signal rise/fall time in cases where the interconnection contains many passive switches in sequence. The delay through such a network can be approximately modeled as an "RC-chain", and hence both propagation delay and rise/fall time are roughly proportional to the square of the number of switches traversed. The network of switches and repeaters can be optimized to have minimum worst case propagation delay, and an acceptable signal rise/fall time, under a given layout area constraint. The optimization consists of finding the best combination of repeater circuit sizing, switch sizing, and switch-to-repeater ratio. The switch-to-repeater ratio is the worst case number of switches between repeaters in the path of an interconnection.
The design trade-offs may be explained as follows. As the switches are made larger, their on-resistance becomes smaller, but the capacitance added to the conductive nodes becomes larger. Second order factors such as fringe capacitance, and the non-linear voltage dependence of the on-resistance of the switches, as well as the size of the repeater, must be considered to find the best switch size. Placing repeaters at every conductive node is possible if there is no area constraint. However, repeaters have an inherent propagation delay. When placed at every node, the repeater propagation delay dominates the total propagation delay.
In a realistic programmable interconnect architecture, a layout area constraint must be considered. In bi-directional, two-dimensional programmable interconnect architectures, such as the ones used in FPGAs, the repeater area is very large: the bi-directionality and the two-dimensionality may require a redundancy of a factor two or larger in the number of three-state buffers: not more than half the buffers, but usually fewer, are actually used when programmed. The fact that three-state buffers are employed implies large circuits and additional area overhead because of the need for memory cells in the repeaters.
In conclusion, the area and performance of programmable bi-directional interconnect architectures may be improved efficiently by employing a bi-directional repeater circuit with a small propagation delay and a small area.
The Design and Analysis of VLSI Circuits (L. Glasser and D. Dobberpuhl, Addison-Wesley Publishing Company, Reading, Mass., 1985, p. 420, FIG. 8.5) shows a carry chain employing a precharge PMOS transistor and an evaluation circuit with feedback on each intermediate node of the carry chain. However, that circuit is directed to providing a short propagation time in a unidirectional carry chain. It does not address the use of such a precharge and evaluation circuit in a programmable interconnect architecture, and it does not address the use of such a precharge and evaluation circuit for bi-directional signal propagation.
Journal article "A 20-kbit Associative Memory LSI for Artificial Intelligence Machines" by T. Ogura et al., in the IEEE Journal of Solid State Circuits, Vol. 24, No. 4, August 1989, p. 1018, FIG. 6, shows an accelerator circuit employing feedback, using a PMOS transistor as a detection circuit and an NMOS transistor as an evaluation circuit. However, that circuit is directed to speeding up the discharging of a match line in a content addressable memory cell, and it does not address the use of such an accelerator circuit for programmable interconnect architectures.
U.S. Pat. No. 5,202,593 to T. Huang et al. discloses a bi-directional bus repeater that does not need a direction setting control signal. However, that circuit is directed to providing automatic sensing of the signal propagation direction in a bus repeater and does not provide the improvement in the rise/fall time of the input signal offered by the current invention, which has concurrently active drivers on both the input and output network nodes.